home *** CD-ROM | disk | FTP | other *** search
- // ===============================================================
- // Vertex Program: Invulnerability
- // Description: used in characters when in invulneability mode
- // Last Update: 02/09/2003
- // Coder: Tiago Sousa
- // ===============================================================
-
- #include "../CGVPMacro.csi"
-
- VertAttributes { POSITION_3 }
-
- // setup vertex components
- MainInput
- {
- // common model view matrix
- VIEWPROJ_MATRIX,
- uniform float4 CameraPos,
- uniform float4 fTranslate,
- uniform float4 TexGenRipple0,
- uniform float4 TexGenRipple1,
- uniform float4 TexShiftRipple,
- uniform float4 TexDetailScale
- }
-
- DeclarationsScript
- {
- // vertex input
- IN_P
- // vertex output
- OUT_T0_T1
- }
-
- // output vertex position
- PositionScript = PosCommon
-
- CoreScript
- {
- float4 vHPos = mul(ModelViewProj, vPos);
-
- float3 eyeVec = normalize(CameraPos.xyz - vPos.xyz);
-
- float2 vTex;
- vTex.x = dot(vPos, TexGenRipple0);
- vTex.y = dot(vPos, TexGenRipple1);
-
- OUT.Tex1.x = (vHPos.x / vHPos.w + 1)*0.5*0.1;
- OUT.Tex1.y = (-vHPos.y / vHPos.w + 1)*0.5*0.1;
-
- vTex.xy= (vTex.xy+(TexShiftRipple.xy))*TexDetailScale.xy;
-
- // output texture coordinates
- OUT.Tex0.xy = vTex.xy;
-
- return OUT;
- }
-